[INFO] cloning repository https://github.com/rallidars/Remont-website
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rallidars/Remont-website" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frallidars%2FRemont-website", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frallidars%2FRemont-website'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 60f5233d9298d122a4390ac0a8fe0f564b8fa8e5
[INFO] fixing rallidars/Remont-website against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frallidars%2FRemont-website" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rallidars/Remont-website
[INFO] finished tweaking git repo https://github.com/rallidars/Remont-website
[INFO] tweaked toml for git repo https://github.com/rallidars/Remont-website written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rallidars/Remont-website on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rallidars/Remont-website already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded gloo-net v0.5.0
[INFO] [stderr]   Downloaded yew-hooks v0.4.0
[INFO] [stderr]   Downloaded tokise v0.2.0
[INFO] [stderr]   Downloaded implicit-clone v0.6.0
[INFO] [stderr]   Downloaded implicit-clone-derive v0.1.2
[INFO] [stderr]   Downloaded yew-macro v0.22.0
[INFO] [stderr]   Downloaded yew v0.22.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 02a6305d9ad0b7299714fe975aa9b3f5f69415559bd32a476f4bcec37e3b481e
[INFO] running `Command { std: "docker" "start" "02a6305d9ad0b7299714fe975aa9b3f5f69415559bd32a476f4bcec37e3b481e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "02a6305d9ad0b7299714fe975aa9b3f5f69415559bd32a476f4bcec37e3b481e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "02a6305d9ad0b7299714fe975aa9b3f5f69415559bd32a476f4bcec37e3b481e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "02a6305d9ad0b7299714fe975aa9b3f5f69415559bd32a476f4bcec37e3b481e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.108
[INFO] [stderr]    Compiling bumpalo v3.19.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling zmij v1.0.18
[INFO] [stderr]    Compiling wasm-bindgen v0.2.108
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]     Checking ryu v1.0.22
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.108
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling gloo-worker-macros v0.1.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling implicit-clone-derive v0.1.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking implicit-clone v0.6.0
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]    Compiling yew-macro v0.22.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.108
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking js-sys v0.3.85
[INFO] [stderr]     Checking console_error_panic_hook v0.1.7
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking pinned v0.1.0
[INFO] [stderr]     Checking tokise v0.2.0
[INFO] [stderr]     Checking web-sys v0.3.85
[INFO] [stderr]     Checking wasm-bindgen-futures v0.4.58
[INFO] [stderr]     Checking serde-wasm-bindgen v0.6.5
[INFO] [stderr]     Checking gloo-timers v0.3.0
[INFO] [stderr]     Checking gloo-utils v0.2.0
[INFO] [stderr]     Checking gloo-events v0.2.0
[INFO] [stderr]     Checking gloo-dialogs v0.2.0
[INFO] [stderr]     Checking gloo-render v0.2.0
[INFO] [stderr]     Checking gloo-utils v0.1.7
[INFO] [stderr]     Checking gloo-net v0.2.6
[INFO] [stderr]     Checking gloo-file v0.3.0
[INFO] [stderr]     Checking gloo-history v0.2.2
[INFO] [stderr]     Checking gloo-net v0.5.0
[INFO] [stderr]     Checking gloo-console v0.3.0
[INFO] [stderr]     Checking gloo-storage v0.3.0
[INFO] [stderr]     Checking gloo-worker v0.5.0
[INFO] [stderr]     Checking gloo v0.11.0
[INFO] [stderr]     Checking yew v0.22.0
[INFO] [stderr]     Checking yew-hooks v0.4.0
[INFO] [stderr]     Checking remont_website v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0433]: cannot find type `ApiRequest` in this scope
[INFO] [stdout]   --> src/gallery.rs:67:19
[INFO] [stdout]    |
[INFO] [stdout] 67 |             match ApiRequest::get(format!("{}/portfolio_gallery", BACKEND_URL))
[INFO] [stdout]    |                   ^^^^^^^^^^ use of undeclared type `ApiRequest`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::api::ApiRequest;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/calculator.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/gallery.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `use_async`
[INFO] [stdout]  --> src/gallery.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use yew_hooks::{use_async, use_async_with_options, UseAsyncOptions};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/how_we_work.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*`
[INFO] [stdout]  --> src/how_we_work.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wasm_bindgen::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `web_sys::HtmlElement`
[INFO] [stdout]  --> src/how_we_work.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use web_sys::HtmlElement;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gloo_timers::callback::Interval`
[INFO] [stdout]  --> src/navbar.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use gloo_timers::callback::Interval;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*`
[INFO] [stdout]  --> src/navbar.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use wasm_bindgen::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys`
[INFO] [stdout]  --> src/navbar.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use web_sys::{js_sys, window};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Interval`
[INFO] [stdout]  --> src/price_catalog.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use gloo_timers::callback::{Interval, Timeout};
[INFO] [stdout]   |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/price_catalog.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/price_catalog.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*`
[INFO] [stdout]  --> src/price_catalog.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wasm_bindgen::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `web_sys::js_sys`
[INFO] [stdout]  --> src/price_catalog.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use web_sys::js_sys;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `{async block@src/gallery.rs:66:9: 66:19}` to be a future that resolves to `Result<_, _>`, but it resolves to `()`
[INFO] [stdout]    --> src/gallery.rs:66:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |       use_async_with_options(
[INFO] [stdout]     |       ---------------------- required by a bound introduced by this call
[INFO] [stdout]  66 | /         async move {
[INFO] [stdout]  67 | |             match ApiRequest::get(format!("{}/portfolio_gallery", BACKEND_URL))
[INFO] [stdout]  68 | |                 .json_response::<Vec<PortfolioProject>>()
[INFO] [stdout]  69 | |                 .await
[INFO] [stdout] ...   |
[INFO] [stdout]  74 | |             Ok::<(), ()>(());
[INFO] [stdout]  75 | |         },
[INFO] [stdout]     | |_________^ expected `Result<_, _>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<_, _>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] note: required by a bound in `use_async_with_options`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/yew-hooks-0.4.0/src/hooks/use_async.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn use_async_with_options<F, T, E>(future: F, options: UseAsyncOptions) -> UseAsyncHandle<T, E>
[INFO] [stdout]     |        ---------------------- required by a bound in this function
[INFO] [stdout] 194 | where
[INFO] [stdout] 195 |     F: Future<Output = Result<T, E>> + 'static,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `use_async_with_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `{async block@src/gallery.rs:66:9: 66:19}` to be a future that resolves to `Result<_, _>`, but it resolves to `()`
[INFO] [stdout]    --> src/gallery.rs:65:5
[INFO] [stdout]     |
[INFO] [stdout]  65 | /     use_async_with_options(
[INFO] [stdout]  66 | |         async move {
[INFO] [stdout]  67 | |             match ApiRequest::get(format!("{}/portfolio_gallery", BACKEND_URL))
[INFO] [stdout]  68 | |                 .json_response::<Vec<PortfolioProject>>()
[INFO] [stdout] ...   |
[INFO] [stdout]  76 | |         UseAsyncOptions::enable_auto(),
[INFO] [stdout]  77 | |     );
[INFO] [stdout]     | |_____^ expected `Result<_, _>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<_, _>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] note: required by a bound in `use_async_with_options`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/yew-hooks-0.4.0/src/hooks/use_async.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn use_async_with_options<F, T, E>(future: F, options: UseAsyncOptions) -> UseAsyncHandle<T, E>
[INFO] [stdout]     |        ---------------------- required by a bound in this function
[INFO] [stdout] 194 | where
[INFO] [stdout] 195 |     F: Future<Output = Result<T, E>> + 'static,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `use_async_with_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `category` on type `&&ProjectCategory`
[INFO] [stdout]   --> src/gallery.rs:84:27
[INFO] [stdout]    |
[INFO] [stdout] 84 |             .filter(|p| p.category == *active_category)
[INFO] [stdout]    |                           ^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `if` and `else` have incompatible types
[INFO] [stdout]   --> src/gallery.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |        let filtered_projects = if *active_category == ProjectCategory::All {
[INFO] [stdout]    |  ______________________________-
[INFO] [stdout] 80 | |          projects.clone()
[INFO] [stdout]    | |          ---------------- expected because of this
[INFO] [stdout] 81 | |      } else {
[INFO] [stdout] 82 | |/         projects
[INFO] [stdout] 83 | ||             .iter()
[INFO] [stdout] 84 | ||             .filter(|p| p.category == *active_category)
[INFO] [stdout] 85 | ||             .cloned()
[INFO] [stdout] 86 | ||             .collect::<Vec<_>>()
[INFO] [stdout]    | ||________________________________^ expected `UseStateHandle<Option<ProjectCategory>>`, found `Vec<ProjectCategory>`
[INFO] [stdout] 87 | |      };
[INFO] [stdout]    | |______- `if` and `else` have incompatible types
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `UseStateHandle<std::option::Option<ProjectCategory>>`
[INFO] [stdout]               found struct `Vec<ProjectCategory>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `area` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:135:53
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let total_area: u32 = projects.iter().map(|p| p.area).sum();
[INFO] [stdout]     |                                                     ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0624]: method `len` is private
[INFO] [stdout]    --> src/gallery.rs:243:76
[INFO] [stdout]     |
[INFO] [stdout] 243 | ...                   <div class="stat-number">{projects.len()}</div>
[INFO] [stdout]     |                                                          ^^^ private method
[INFO] [stdout]     |
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/option.rs:807:4
[INFO] [stdout]     |
[INFO] [stdout]     = note: private method defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `id` on type `&&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:420:63
[INFO] [stdout]     |
[INFO] [stdout] 420 |             if let Some(project) = projects.iter().find(|p| p.id == project_id) {
[INFO] [stdout]     |                                                               ^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `comparison_images` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:421:44
[INFO] [stdout]     |
[INFO] [stdout] 421 |                 let total_images = project.comparison_images.len();
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `title` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:429:76
[INFO] [stdout]     |
[INFO] [stdout] 429 | ...                   {format!("Порівняння: {}", project.title)}
[INFO] [stdout]     |                                                          ^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `comparison_images` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:514:58
[INFO] [stdout]     |
[INFO] [stdout] 514 | ...                   src={project.comparison_images[*comparison_image_index].after_image.clone()}
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `comparison_images` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:528:58
[INFO] [stdout]     |
[INFO] [stdout] 528 | ...                   src={project.comparison_images[*comparison_image_index].before_image.clone()}
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `comparison_images` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:567:79
[INFO] [stdout]     |
[INFO] [stdout] 567 | ...                   <img src={project.comparison_images[i].before_image.clone()} alt="Before" />
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `comparison_images` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:571:79
[INFO] [stdout]     |
[INFO] [stdout] 571 | ...                   <img src={project.comparison_images[i].after_image.clone()} alt="After" />
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `id` on type `&&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:599:70
[INFO] [stdout]     |
[INFO] [stdout] 599 | ...                   let project = projects.iter().find(|p| p.id == project_id).unwrap();
[INFO] [stdout]     |                                                                ^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `title` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:606:79
[INFO] [stdout]     |
[INFO] [stdout] 606 | ...                   <h3 class="modal-title">{&project.title}</h3>
[INFO] [stdout]     |                                                         ^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `images` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:619:96
[INFO] [stdout]     |
[INFO] [stdout] 619 | ...   <div class="main-image"><img  src={project.images.get(*gallery_image_index).map(|s| s.to_string()).unwrap_or("".to_string())}...
[INFO] [stdout]     |                                                  ^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `images` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:622:62
[INFO] [stdout]     |
[INFO] [stdout] 622 | ...                   {project.images.iter().enumerate().map(|(i,image)| {
[INFO] [stdout]     |                                ^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `area` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:643:109
[INFO] [stdout]     |
[INFO] [stdout] 643 | ...                   <div class="detail-value">{format!("{} м²", project.area)}</div>
[INFO] [stdout]     |                                                                           ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `duration` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:647:93
[INFO] [stdout]     |
[INFO] [stdout] 647 | ...                   <div class="detail-value">{&project.duration}</div>
[INFO] [stdout]     |                                                           ^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `year` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:651:92
[INFO] [stdout]     |
[INFO] [stdout] 651 | ...                   <div class="detail-value">{project.year}</div>
[INFO] [stdout]     |                                                          ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `category` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:655:98
[INFO] [stdout]     |
[INFO] [stdout] 655 | ...                   <div class="detail-value">{match project.category {
[INFO] [stdout]     |                                                                ^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `features` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:670:66
[INFO] [stdout]     |
[INFO] [stdout] 670 | ...                   {project.features.iter().map(|feature| {
[INFO] [stdout]     |                                ^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `description` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:686:66
[INFO] [stdout]     |
[INFO] [stdout] 686 | ...                   <p>{&project.description}</p>
[INFO] [stdout]     |                                    ^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `ApiRequest` in this scope
[INFO] [stdout]   --> src/gallery.rs:67:19
[INFO] [stdout]    |
[INFO] [stdout] 67 |             match ApiRequest::get(format!("{}/portfolio_gallery", BACKEND_URL))
[INFO] [stdout]    |                   ^^^^^^^^^^ use of undeclared type `ApiRequest`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::api::ApiRequest;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/calculator.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `form_data`
[INFO] [stdout]  --> src/cta.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let form_data = use_state(|| FormData::default());
[INFO] [stdout]   |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_form_data`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/gallery.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `use_async`
[INFO] [stdout]  --> src/gallery.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use yew_hooks::{use_async, use_async_with_options, UseAsyncOptions};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/how_we_work.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*`
[INFO] [stdout]  --> src/how_we_work.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use wasm_bindgen::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `web_sys::HtmlElement`
[INFO] [stdout]  --> src/how_we_work.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use web_sys::HtmlElement;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gloo_timers::callback::Interval`
[INFO] [stdout]  --> src/navbar.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use gloo_timers::callback::Interval;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*`
[INFO] [stdout]  --> src/navbar.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use wasm_bindgen::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys`
[INFO] [stdout]  --> src/navbar.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use web_sys::{js_sys, window};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Interval`
[INFO] [stdout]  --> src/price_catalog.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use gloo_timers::callback::{Interval, Timeout};
[INFO] [stdout]   |                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/price_catalog.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/price_catalog.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::prelude::*`
[INFO] [stdout]  --> src/price_catalog.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wasm_bindgen::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `web_sys::js_sys`
[INFO] [stdout]  --> src/price_catalog.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use web_sys::js_sys;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/navbar.rs:149:65
[INFO] [stdout]     |
[INFO] [stdout] 149 |                         {for nav_items.iter().enumerate().map(|(index, item)| {
[INFO] [stdout]     |                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_positions`
[INFO] [stdout]    --> src/price_catalog.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |     let total_positions = sections.iter().map(|s| s.positions.len()).sum::<usize>();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_positions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0308, E0433, E0609, E0624.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `remont_website` (bin "remont_website" test) due to 24 previous errors; 17 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0271]: expected `{async block@src/gallery.rs:66:9: 66:19}` to be a future that resolves to `Result<_, _>`, but it resolves to `()`
[INFO] [stdout]    --> src/gallery.rs:66:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |       use_async_with_options(
[INFO] [stdout]     |       ---------------------- required by a bound introduced by this call
[INFO] [stdout]  66 | /         async move {
[INFO] [stdout]  67 | |             match ApiRequest::get(format!("{}/portfolio_gallery", BACKEND_URL))
[INFO] [stdout]  68 | |                 .json_response::<Vec<PortfolioProject>>()
[INFO] [stdout]  69 | |                 .await
[INFO] [stdout] ...   |
[INFO] [stdout]  74 | |             Ok::<(), ()>(());
[INFO] [stdout]  75 | |         },
[INFO] [stdout]     | |_________^ expected `Result<_, _>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<_, _>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] note: required by a bound in `use_async_with_options`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/yew-hooks-0.4.0/src/hooks/use_async.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn use_async_with_options<F, T, E>(future: F, options: UseAsyncOptions) -> UseAsyncHandle<T, E>
[INFO] [stdout]     |        ---------------------- required by a bound in this function
[INFO] [stdout] 194 | where
[INFO] [stdout] 195 |     F: Future<Output = Result<T, E>> + 'static,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `use_async_with_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `{async block@src/gallery.rs:66:9: 66:19}` to be a future that resolves to `Result<_, _>`, but it resolves to `()`
[INFO] [stdout]    --> src/gallery.rs:65:5
[INFO] [stdout]     |
[INFO] [stdout]  65 | /     use_async_with_options(
[INFO] [stdout]  66 | |         async move {
[INFO] [stdout]  67 | |             match ApiRequest::get(format!("{}/portfolio_gallery", BACKEND_URL))
[INFO] [stdout]  68 | |                 .json_response::<Vec<PortfolioProject>>()
[INFO] [stdout] ...   |
[INFO] [stdout]  76 | |         UseAsyncOptions::enable_auto(),
[INFO] [stdout]  77 | |     );
[INFO] [stdout]     | |_____^ expected `Result<_, _>`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<_, _>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] note: required by a bound in `use_async_with_options`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/yew-hooks-0.4.0/src/hooks/use_async.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn use_async_with_options<F, T, E>(future: F, options: UseAsyncOptions) -> UseAsyncHandle<T, E>
[INFO] [stdout]     |        ---------------------- required by a bound in this function
[INFO] [stdout] 194 | where
[INFO] [stdout] 195 |     F: Future<Output = Result<T, E>> + 'static,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `use_async_with_options`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `category` on type `&&ProjectCategory`
[INFO] [stdout]   --> src/gallery.rs:84:27
[INFO] [stdout]    |
[INFO] [stdout] 84 |             .filter(|p| p.category == *active_category)
[INFO] [stdout]    |                           ^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `if` and `else` have incompatible types
[INFO] [stdout]   --> src/gallery.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |        let filtered_projects = if *active_category == ProjectCategory::All {
[INFO] [stdout]    |  ______________________________-
[INFO] [stdout] 80 | |          projects.clone()
[INFO] [stdout]    | |          ---------------- expected because of this
[INFO] [stdout] 81 | |      } else {
[INFO] [stdout] 82 | |/         projects
[INFO] [stdout] 83 | ||             .iter()
[INFO] [stdout] 84 | ||             .filter(|p| p.category == *active_category)
[INFO] [stdout] 85 | ||             .cloned()
[INFO] [stdout] 86 | ||             .collect::<Vec<_>>()
[INFO] [stdout]    | ||________________________________^ expected `UseStateHandle<Option<ProjectCategory>>`, found `Vec<ProjectCategory>`
[INFO] [stdout] 87 | |      };
[INFO] [stdout]    | |______- `if` and `else` have incompatible types
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `UseStateHandle<std::option::Option<ProjectCategory>>`
[INFO] [stdout]               found struct `Vec<ProjectCategory>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `area` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:135:53
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let total_area: u32 = projects.iter().map(|p| p.area).sum();
[INFO] [stdout]     |                                                     ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0624]: method `len` is private
[INFO] [stdout]    --> src/gallery.rs:243:76
[INFO] [stdout]     |
[INFO] [stdout] 243 | ...                   <div class="stat-number">{projects.len()}</div>
[INFO] [stdout]     |                                                          ^^^ private method
[INFO] [stdout]     |
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/option.rs:807:4
[INFO] [stdout]     |
[INFO] [stdout]     = note: private method defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `id` on type `&&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:420:63
[INFO] [stdout]     |
[INFO] [stdout] 420 |             if let Some(project) = projects.iter().find(|p| p.id == project_id) {
[INFO] [stdout]     |                                                               ^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `comparison_images` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:421:44
[INFO] [stdout]     |
[INFO] [stdout] 421 |                 let total_images = project.comparison_images.len();
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `title` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:429:76
[INFO] [stdout]     |
[INFO] [stdout] 429 | ...                   {format!("Порівняння: {}", project.title)}
[INFO] [stdout]     |                                                          ^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `comparison_images` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:514:58
[INFO] [stdout]     |
[INFO] [stdout] 514 | ...                   src={project.comparison_images[*comparison_image_index].after_image.clone()}
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `comparison_images` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:528:58
[INFO] [stdout]     |
[INFO] [stdout] 528 | ...                   src={project.comparison_images[*comparison_image_index].before_image.clone()}
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `comparison_images` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:567:79
[INFO] [stdout]     |
[INFO] [stdout] 567 | ...                   <img src={project.comparison_images[i].before_image.clone()} alt="Before" />
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `comparison_images` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:571:79
[INFO] [stdout]     |
[INFO] [stdout] 571 | ...                   <img src={project.comparison_images[i].after_image.clone()} alt="After" />
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `id` on type `&&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:599:70
[INFO] [stdout]     |
[INFO] [stdout] 599 | ...                   let project = projects.iter().find(|p| p.id == project_id).unwrap();
[INFO] [stdout]     |                                                                ^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `title` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:606:79
[INFO] [stdout]     |
[INFO] [stdout] 606 | ...                   <h3 class="modal-title">{&project.title}</h3>
[INFO] [stdout]     |                                                         ^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `images` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:619:96
[INFO] [stdout]     |
[INFO] [stdout] 619 | ...   <div class="main-image"><img  src={project.images.get(*gallery_image_index).map(|s| s.to_string()).unwrap_or("".to_string())}...
[INFO] [stdout]     |                                                  ^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `images` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:622:62
[INFO] [stdout]     |
[INFO] [stdout] 622 | ...                   {project.images.iter().enumerate().map(|(i,image)| {
[INFO] [stdout]     |                                ^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `area` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:643:109
[INFO] [stdout]     |
[INFO] [stdout] 643 | ...                   <div class="detail-value">{format!("{} м²", project.area)}</div>
[INFO] [stdout]     |                                                                           ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `duration` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:647:93
[INFO] [stdout]     |
[INFO] [stdout] 647 | ...                   <div class="detail-value">{&project.duration}</div>
[INFO] [stdout]     |                                                           ^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `year` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:651:92
[INFO] [stdout]     |
[INFO] [stdout] 651 | ...                   <div class="detail-value">{project.year}</div>
[INFO] [stdout]     |                                                          ^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `category` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:655:98
[INFO] [stdout]     |
[INFO] [stdout] 655 | ...                   <div class="detail-value">{match project.category {
[INFO] [stdout]     |                                                                ^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `features` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:670:66
[INFO] [stdout]     |
[INFO] [stdout] 670 | ...                   {project.features.iter().map(|feature| {
[INFO] [stdout]     |                                ^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `description` on type `&ProjectCategory`
[INFO] [stdout]    --> src/gallery.rs:686:66
[INFO] [stdout]     |
[INFO] [stdout] 686 | ...                   <p>{&project.description}</p>
[INFO] [stdout]     |                                    ^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `form_data`
[INFO] [stdout]  --> src/cta.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let form_data = use_state(|| FormData::default());
[INFO] [stdout]   |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_form_data`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/navbar.rs:149:65
[INFO] [stdout]     |
[INFO] [stdout] 149 |                         {for nav_items.iter().enumerate().map(|(index, item)| {
[INFO] [stdout]     |                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_positions`
[INFO] [stdout]    --> src/price_catalog.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |     let total_positions = sections.iter().map(|s| s.positions.len()).sum::<usize>();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_positions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0271, E0308, E0433, E0609, E0624.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0271`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `remont_website` (bin "remont_website") due to 24 previous errors; 17 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "02a6305d9ad0b7299714fe975aa9b3f5f69415559bd32a476f4bcec37e3b481e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "02a6305d9ad0b7299714fe975aa9b3f5f69415559bd32a476f4bcec37e3b481e", kill_on_drop: false }`
[INFO] [stdout] 02a6305d9ad0b7299714fe975aa9b3f5f69415559bd32a476f4bcec37e3b481e
